Masked LM
Masked language model
MLM
ランダムに単語をマスクに入れ替えてマスク単語を予測させる
入力語句内のすべての単語に対し、
15%の確率で単語にラベルをつけてMASKに入れ替えます。
次に、MASKに入れ替えられた単語に対して、
その中の10%の確率で他のランダム単語に入れ替えて、
また他の10%の確率で元の単語に戻す
https://gyazo.com/4aec8434ac696582cbc9e44ed8c0eb67
戻す必要あるのか?miyamonz.icon
ラベリングされた単語の予測結果と元の単語でLoss Maskを計算する
最初の15%で選ばれたヤツをBERT_labelを付与する
ここの部分は
MASKまたは単語
MASKであるなら正しい単語を
単語であるなら、そのままであるか、別の単語を
ということになる
モデルとしては、単語集合上の確率としてdense とsoftmaxとかで表現するのだろう
双方向、とBERTは呼んでいるが、これは両方向の結合ではないので「非方向」と言う方が適切
一方で、従来のlmは方向があって、その前提でずっと考えていたということを強調するなら両方向と言うのも頷ける気もするmiyamonz.icon
すなわちmaked lmというものを、taskではなくlmというのは、従来一般的であった確率と別のものを考えてると言える?
学習時の損失関数の計算
ここらへんみるとわかる
gatherあたりで、maskされた部分だけ抽出
正解ラベル(つまり元の入力語彙)の部分の確率を合計
たしかに、学習に使われているのはmask labelがあるところだけ